1
|
|
|
/* global exec */ |
2
|
|
|
/** |
3
|
|
|
* Build configuration for server-side using Gulp |
4
|
|
|
*/ |
5
|
|
|
const gulp = require('gulp'); |
6
|
|
|
const sourceMaps = require('gulp-sourcemaps'); |
7
|
|
|
const nodemon = require('gulp-nodemon'); |
8
|
|
|
const babel = require('gulp-babel'); |
9
|
|
|
const path = require('path'); |
10
|
|
|
const config = require('./src/config/server.config').build; |
11
|
|
|
const exec = require('child_process').exec; |
12
|
|
|
|
13
|
|
|
const PATHS = { |
14
|
|
|
src: ['src/**/*.js', 'src/**/*.jsx'], |
15
|
|
|
dist: config.serverOutputDirectoryName, |
16
|
|
|
sourceRoot: path.join(__dirname, config.sourceDirectory), |
17
|
|
|
}; |
18
|
|
|
|
19
|
|
|
const compile = () => gulp.src(PATHS.src) |
20
|
|
|
.pipe(sourceMaps.init()) |
21
|
|
|
.pipe(babel({ presets: [['env', { targets: { node: 'current' } }]] })) |
22
|
|
|
.pipe(sourceMaps.write('.', { sourceRoot: PATHS.sourceRoot })) |
23
|
|
|
.pipe(gulp.dest(PATHS.dist)); |
24
|
|
|
|
25
|
|
|
gulp.task('server-build', () => compile()); |
26
|
|
|
|
27
|
|
|
gulp.task('dev-server', ['server-build'], () => { |
28
|
|
|
return nodemon({ |
29
|
|
|
exec: 'node --debug=54321', |
30
|
|
|
script: `${PATHS.dist}/${config.serverEntry}`, |
31
|
|
|
ext: 'js html', |
32
|
|
|
ignore: ['**/*.test.js', `${PATHS.dist}/**/*.js`], |
33
|
|
|
env: { NODE_ENV: 'development' }, |
34
|
|
|
tasks: ['server-build'], |
35
|
|
|
debug: true, |
36
|
|
|
}); |
37
|
|
|
}); |
38
|
|
|
|
39
|
|
|
gulp.task('dev-start', ['dev-server']); |
40
|
|
|
|